הרצאה 7 - היזון לאחור (back propogation)
רשתות רב שכבתיות:
- כפי שצוין בהרצאה 6, ככל שנוסיף יותר שכבות ויותר נוירונים בכל שכבה, נוכל לפתור בעיות מורכבות יותר.
- נרצה לזכור, שכל הוספה של נוירונים ו/או שכבות מוסיפה על הסיבוכיות של החישוב (זמן הרצה ארוך יותר ויותר זכרון נצרך), ויכולה לגרום ל overfitting.
פונקציות אקטיבציה לא לינאריות:
- פונקציות האקטיבציה הן הפעולות שיופעלו בשכבות הביניים על הפלטים שנקבל מכפל הדוגמאות מהשכבה הקודמת במשקלים שלהן.
- ללא פונקציות אקטיבציה הרשת הרב שכבתית שוות ערך לשכבה אחת.
- פונקציות אקטיבציה לא לינאריות מאפשרות פתרון של בעיות לא לינאריות, הן גזירות ומאפשרות למידה.
- פונקציות אקטיבציה נפוצות:
- סיגמואיד (כמו ברגריסה לוגיסטית):
-
g(x) &= \frac{1}{1 + e^{-x}} \[10pt]
g'(x) &= g(x)(1 - g(x)) = \frac{e^{-x}}{(1 + e^{-x})^2} \[20pt]
\end
\begin{aligned}
g(x) &= \tanh(x) = \frac{e^x - e^{-x}}{e^x + e^{-x}} \[10pt]
g'(x) &= 1 - \tanh^2(x) \[20pt]
\end
\begin{aligned}
g(x) &= \begin{cases} x, & x \geq 0 \ 0, & x < 0 \end{cases} \[15pt]
g'(x) &= \begin{cases} 1, & x > 0 \ 0, & x < 0 \ \text{undefined}, & x = 0 \end{cases}
\end{aligned} $$
היזון לאחור:
- כלל הירידה במורד הגרדיאנט אשר בו השתמשנו עד כה יהיה יקר חישובית עבור רשת רב שכבתית (צריך לגזור את פונקציית השגיאה על פי כל אחד מהמשקלים).
- שלבי האלגוריתם (עבור צעד למידה יחיד):
- שלב ראשון - הזנה קדימה (feed forward): מעבירים את הקלטים מההתחלה עד הסוף (משכבת הקלט -> דרך המשקלים -> כל שכבות הביניים -> שכבת הפלט)
- שלב שני - הזנה לאחור:
- מחשבים את ה
(נגזרת של השגיאה לפי הפרה אקטיבציה) של השכבה האחרונה - בעזרת ה
שמצאנו, מוצאים את ה של שכבה אחת לפני, וכך הלאה עד שמסיימים עם כל השכבות - מעדכנים את כל המשקולות בהתאם
- מחשבים את ה
דוגמא לשאלה:
אנו מאמנים רשת לא לינארית לחזות את קצב הירי של נוירון מסוים באזור V4 כפונקציה של הצבע של הגירוי המוצג. צבע הגירוי מקודד כשלושה מספרים רציפים: אדום (x1) ירוק (x2) וכחול (x3). השכבה הנסתרת ושכבת הפלט עושות שימוש בפונקציית ReLU. אנו מאמנים את הרשת בלמידת אונליין כדי לצמצם את שגיאת הניבוי הריבועית. כאשר Y0 הוא קצב הירי בפועל, ו- Y הוא קצב הירי החזוי. להלן ארכיטקטורת הרשת והמשקולות הנוכחיות:

א. בהינתן דוגמא חדשה: אדום = 0.8, ירוק = 0.5, כחול = 0.1 מה יהיה קצב הירי החזוי?
ב. נתון כי קצב הירי האמיתי של הוירון בתגובה לגירוי זה הוא 12 הרץ. רשמו את ערכי המשקולות לאחר צעד למידה בשיטת היזון לאחור, עם קצב למידה של 0.1
פתרון:
א + ב.
נקודות חשובות בפתרון השאלה:
- נשים לב שהנוסחא שונה עבור נגזרת השגיאה של השכבה האחרונה (זאת המובילה לפלטים הסופיים), וכי הנוסחא עבור נגזרת השגיאה של שאר השכבות מוסיפה נסמכות (לדוגמא: נגזרת השגיאה של השכבה הראשונה תלויה בנגזרת השגיאה ובמשקולות של השכבה השנייה).
- נשים לב שבנגזרת השגיאה אנחנו גוזרים את פונקציית האקטיבציה.
- נשים לב שבחישוב גרדינט המשקולות אנחנו עושים שימוש בתוצאות האקטיבציה של השכבה הקודמת (h), אך למשקולות של השכבה הראשונה אין אקטיבציה ואנחנו משתמשים בדוגמאות (x).